package com.gdssoft.pdaweb.dao.water;

/*
 *  捷达世软件（深圳）有限公司
 *  Copyright (C) 2008-2010 ShenZhen JieDaShi Software Limited Company.
*/
import java.util.List;
import java.util.Map;

import com.gdssoft.core.command.QueryFilter;
import com.gdssoft.core.dao.BaseDao;
import com.gdssoft.pdaweb.model.water.PdaWaterList;
import com.gdssoft.pdaweb.model.water.WaterMeterPlan;

/**
 * 
 * @author 
 *
 */
public interface PdaWaterListDao extends BaseDao<PdaWaterList>{
	/**
	 * 查询
	 * @param pdaAmMeterList
	 * @return
	 */
	public List<PdaWaterList> query(PdaWaterList pdaWaterList,int start,int to);

	/**
	 * 
	 * @param meterID
	 * @param month
	 * @return
	 */
	public PdaWaterList getWaterListByMeterIDAndMonth(String meterID, String month);
	
	/**
	 * 查询记录数
	 * @author F3229233 2013-1-15 下午3:33:14 
	 * @param pl
	 * @return
	 */
	public int queryCount(PdaWaterList pl);
	
/**
 * 检查amId是否存在
 * @param amId
 * @return
 */
	public boolean checkAmidExist(String amId, String depIdS);
	/**
	 * 检查记录是否存在
	 * @param amId
	 * @param importMonth
	 * @return
	 */
	public boolean recodExist(String amId, String importMonth);
	/**
	 * 获得对应的表的读数
	 * @param amId
	 * @param month
	 * @return
	 */
	public Long getDegreeByTime(String amId,String month);
	/**
	 * 判断是否换表
	 * @param amId
	 * @param month
	 * @return
	 */
	public int isCurAdd(String amId, String month);

	/**
	 * 审核
	 * @param ids
	 * @param status
	 * @return
	 */
	public boolean check(String ids, String status);
	
	/**
	 * 查看计划任务
	 */
	public List<PdaWaterList> getPlanTask(String meterId, String month);

	public boolean saveFixedUsage(PdaWaterList pdaWaterList);
	
	/**
	 * 水表计划审核表单查询方法
	 * @param month
	 * @param  planName
	 * @param executor
	 */
	
	public int getWaterPlanNumb(String month, String planName,String executor,String depId);
	
	/**
	 * 按照計劃審核
	 */
	public boolean checkPlan(String ids, String status,String month);
	
		/**
	 * 根据计划ID串和月份得到这些计划下该月份的表ID
	 * @param ids
	 * @param month
	 * @return
	 */
	public String getPdaWaterIdList(String ids,String month);
	
	/**
	 * 审核明细查询
	 */
	public List<PdaWaterList> getCheckDetailSearch(String planId,String planName ,String month,	
			            String executor,String fangId,	String waterId,	String dongId,String quId,String depId,QueryFilter filter);
	
	
	/**
	 * 审核明细查询编译出数据
	 */
	public List<PdaWaterList> checkStatus(Long planId,String month);
	
	/**
	 * 待審核的計劃列表 
	 */
	public List<WaterMeterPlan> getWaterPlan(String month, String planName,String executor,String depId,QueryFilter filter);
	/**
	 * 审核明细查询数量
	 */
	public int getCheckDetailSearchNumb(String planId,String planName ,String month,	
			            String executor,String fangId,	String waterId,	String dongId,String quId,String depId);

	public List<PdaWaterList> getList(Map params,String depIds);
	
	public int getListCount(Map params,String depIds);

}